package com.ruoyi.work.service;

import com.ruoyi.work.domain.WorkProject;
import com.ruoyi.work.domain.vo.*;

import java.util.List;
import java.util.Map;

/**
 * @Author: MMDZ
 * @Desc:
 */
public interface IWorkReportService {
    /**
     * 人员工时清单
     *
     * @param report
     * @return
     */
    Map selectUserHourList(UserHourReport report, Integer pageNum, Integer pageSize, boolean isExport);

    /**
     * 项目工时清单
     *
     * @param report
     * @return
     */
    List<ProjectHourReport> selectProjectHourList(ProjectHourReport report);

    /**
     * 人力成本数据总汇
     *
     * @param report
     * @return
     */
    Map selectCostCollectionList(Integer pageNum, Integer pageSize, CostCollectionReport report, boolean isExport);

    /**
     * 人力成本数据明细
     *
     * @param report
     * @return
     */
    Map selectDetailCostList(Integer pageNum, Integer pageSize, CostDetailReport report, boolean isExport);

    /**
     * 人力成本统计表(部门维度) 以审核通过 为有效工时
     *
     * @param report
     * @return
     */
    List<DeptCostReport> selectDeptCostList(DeptCostReport report);

    /**
     * 人力成本(项目维度) 以审核通过 为有效工时
     *
     * @param report
     * @return
     */
    List<ProjectCostReport> selectProjectCostList(ProjectCostReport report);

    /**
     * 项目 人力成本 核算
     *
     * @param report
     * @return
     */
    List<ProjectCheckReport> selectProjectCheckList(ProjectCheckReport report);

    /**
     * 获取已填写的项目
     *
     * @return
     */
    List<WorkProject> selectFillProjectAll();

    List<String> selectWorkStageAll();
}
